#include<bits/stdc++.h>
using namespace std;

int len,n,k;
int arr[100005];

bool f(int mid){
	int i=1,sum=0;
	while(sum<=k&&i<n){
		sum+=ceil( (arr[i]-arr[i-1]+0.0)/mid-1 );
		i++;
	}
	if(sum<=k) return true;
	else return false;
}

int main(){
	scanf("%d%d%d",&len,&n,&k);
	int r=0;
	for(int i=0;i<n;i++){
		scanf("%d",&arr[i]);
		if(i>0){
			r=max(arr[i]-arr[i-1],r);
		}
	}
	int l=1,mid;
	while(l<r){
		mid=(r-l)/2+l;
		bool tag=f(mid);
		if(tag){
			r=mid;
		}
		else{
			l=mid+1;
		}
	}
	printf("%d",l);
	return 0;
}
